﻿#pragma once

#include "Ability/EditorAbilityModel.h"
#include "EditorAbilityGroupModel.m.h"

class REditorAbilityModel;
class REditorSplitableLayoutModel;

RCLASS(ExtraHeader=["Ability/EditorAbilityModel.h", "Widgets/Splitable/EditorSplitableLayoutModel.h"])
class REditorAbilityGroupModel : public REditorAbilityModel
{
    ROBJECT

public:
    virtual void FirstTimeInitializeObject() override ;

    //更新布局
    void UpdateLayout();

    //获取标题高度
    //TODO  把这个函数移动到视图模型
    float GetAbilityTitleHeight() const;
protected:
    RFIELD()
    TVector<TSharedObjectPtr<REditorAbilityModel>> Abilities;

public:
    TSharedObjectPtr<REditorSplitableLayoutModel> GetLayout();
protected:
    RFIELD()
    TSharedObjectPtr<REditorSplitableLayoutModel> LayoutModel;
};